package net.bo;

import java.sql.Date;
import java.util.Calendar;

import net.ko.kobject.KObject;
import net.ko.persistence.annotation.Entity;
import net.ko.persistence.annotation.Table;

/**
 * Classe KDemande
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "demande")
public class KDemande extends KObject {
	private java.sql.Date dateDemande;
	private String description;
	private int idTypeDemande;
	private Integer idPlan = null;

	public Integer getIdPlan() {
		return idPlan;
	}

	public void setIdPlan(Integer idPlan) {
		this.idPlan = idPlan;
	}

	private int idUtilisateur;
	private KTypedemande typedemande;
	private KUtilisateur utilisateur;
	private KUtilisateur mail;
	private KPlan plan;

	public KDemande() {
		super();
		belongsTo(KUtilisateur.class);
		belongsTo(KTypedemande.class);
		belongsTo(KPlan.class);
		dateDemande = new Date(Calendar.getInstance().getTimeInMillis());
	}

	public KPlan getPlan() {
		return plan;
	}

	public void setPlan(KPlan plan) {
		this.plan = plan;
	}

	public KUtilisateur getMail() {
		return this.mail;
	}

	/**
	 * return the value of dateDemande
	 * 
	 * @return dateDemande
	 */
	public java.sql.Date getDateDemande() {
		return this.dateDemande;
	}

	/**
	 * return the value of description
	 * 
	 * @return description
	 */
	public String getDescription() {
		return this.description;
	}

	/**
	 * return the value of idTypeDemande
	 * 
	 * @return idTypeDemande
	 */
	public int getIdTypeDemande() {
		return this.idTypeDemande;
	}

	/**
	 * return the value of idUtilisateur
	 * 
	 * @return idUtilisateur
	 */
	public int getIdUtilisateur() {
		return this.idUtilisateur;
	}

	/**
	 * return the value of typedemande
	 * 
	 * @return typedemande
	 */
	public KTypedemande getTypedemande() {
		return this.typedemande;
	}

	/**
	 * return the value of utilisateur
	 * 
	 * @return utilisateur
	 */
	public KUtilisateur getUtilisateur() {
		return this.utilisateur;
	}

	/**
	 * set the value of dateDemande
	 * 
	 * @param aDateDemande
	 */
	public void setDateDemande(java.sql.Date aDateDemande) {
		this.dateDemande = aDateDemande;
	}

	/**
	 * set the value of description
	 * 
	 * @param aDescription
	 */
	public void setDescription(String aDescription) {
		this.description = aDescription;
	}

	/**
	 * set the value of idTypeDemande
	 * 
	 * @param aIdTypeDemande
	 */
	public void setIdTypeDemande(int aIdTypeDemande) {
		this.idTypeDemande = aIdTypeDemande;
	}

	/**
	 * set the value of idUtilisateur
	 * 
	 * @param aIdUtilisateur
	 */
	public void setIdUtilisateur(int aIdUtilisateur) {
		this.idUtilisateur = aIdUtilisateur;
	}

	/**
	 * set the value of typedemande
	 * 
	 * @param aTypedemande
	 */
	public void setTypedemande(KTypedemande aTypedemande) {
		this.typedemande = aTypedemande;
	}

	/**
	 * set the value of utilisateur
	 * 
	 * @param aUtilisateur
	 */
	public void setUtilisateur(KUtilisateur aUtilisateur) {
		this.utilisateur = aUtilisateur;
	}

	@Override
	public String toString() {
		return "" + description;
	}
}